package org.zjx.enums.route;

/**
 * 路由类型枚举
 * 定义游戏中所有移动方式的类型
 */
public enum RouteType {
    SCENE_TRANSFER,   // 场景传送（单向）
    NPC_TRANSFER,     // npc传送（单向）
    ROOM_ENTER,       // 进入房间（单向）
    ROOM_EXIT,        // 离开房间（单向）
    RUNNING,          // 跑路（同场景）
    FLYING_CHARM,     // 飞行符传送
    FLYING_FLAG,      // 飞行旗传送
    MAGIC_ITEM,       // 法宝传送
    BACK_TO_SECT;     // 回师门

    /**
     * 判断是否是传送类型（非跑路）
     */
    public boolean isTransfer() {
        return this != RUNNING;
    }

    /**
     * 判断是否是单向路径
     */
    public boolean isUnidirectional() {
        return this == SCENE_TRANSFER ||
                this == ROOM_ENTER ||
                this == ROOM_EXIT;
    }
}